1
硬件权衡:SRAM 与 DRAM 架构
AI031Lesson 6
00:00

层次结构的基础

内存层次结构依赖于 静态随机存取存储器(SRAM)动态随机存取存储器(DRAM)。SRAM 使用一个由 6 个晶体管构成的 双稳态存储单元。想象一个倒置的摆:它在两个位置上是稳定的,但在中间位置却是 亚稳态 。这种双稳态特性使其速度快、成本高,并对干扰不敏感。相反,DRAM 则将数据位以微小电容中的电荷形式存储(约 30 × 10⁻¹⁵ 法拉)。由于电荷会泄漏,因此 DRAM 速度较慢,需要持续刷新。

DRAM 组织结构与总线事务

为了最小化引脚数量,DRAM 的比特被划分为 $d$ 个 超单元 的 $r \times c$ 网格中,其中 $rc=d$。访问数据需要两步操作: 内存控制器 发送一个 RAS(行地址选通),将某一行移入行缓冲区,随后再发出一个 CAS(列地址选通)。这解释了为什么 sumarraycols 本质上更慢:它反复错过行缓冲区。

数据传输

数据通过 总线事务系统总线内存总线之间,由 I/O 桥接器。一条 movq A, %rax 指令(读取事务)触发桥接器将 CPU 的请求转换为 DRAM 的网格信号。

系统总线内存总线CPUI/O 桥接器主内存DRAM 网格
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>